//
// Created by LiuYou on 2021/10/26.
//

#include <iostream>
#include <cstring>


static FILE* fp;


int main(int argc, char** argv) {
    fp = fopen( "tmp", "r" );
    if (fp == nullptr) {
        // perror();自带换行。
//        perror( "fopen()" );
        // 从 errno 开始找头文件最后就找到了
        // /usr/include/asm-generic/errno-base.h 和
        // /usr/include/asm-generic/errno.h。
        fprintf( stderr, "fopen(): %s, errno = %d.\n", strerror(errno), errno);
        fprintf( stderr, "fopen(): %s.", strerror(errno));
//        exit( 1 );
        return 1;
    }
//    on_exit( [](int, void*) {
//        FILE* pFile = static_cast<FILE*>(fp);
//        fclose( pFile );
//    }, fp );


//    atexit( [] {
//        fclose( fp );
//    } );

    puts( "打开文件成功。" );


    return 0;
}
